Implement ISOSDacInterface::GetObjectClassName in cDAC SOSDacImpl#124816
Implement ISOSDacInterface::GetObjectClassName in cDAC SOSDacImpl#124816
Conversation
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
…unit and dump tests Co-authored-by: max-charlamb <44248479+max-charlamb@users.noreply.github.com>
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/SOSDacImpl.cs
Show resolved
Hide resolved
max-charlamb
left a comment
There was a problem hiding this comment.
@copilot , address feedback
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
… case, update tests Co-authored-by: max-charlamb <44248479+max-charlamb@users.noreply.github.com>
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: max-charlamb <44248479+max-charlamb@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Implements the cDAC version of ISOSDacInterface::GetObjectClassName in SOSDacImpl, replacing the legacy-only stub, and adds unit + dump-based tests to validate method-table → type/module resolution and string output behavior.
Changes:
- Add cDAC implementation of
GetObjectClassNameusingIObject,IRuntimeTypeSystem,ILoader, andTypeNameBuilderwith a fallback toDacStreams. - Add unit tests covering zero address, unloaded-type naming, and “null buffer returns needed size” behavior.
- Add dump-based integration tests validating that
System.ObjectandSystem.Stringresolve to modules with loaded image contents.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/SOSDacImpl.cs | Implements GetObjectClassName in cDAC, including unloaded-module handling, TypeNameBuilder formatting, and DEBUG cross-check vs legacy DAC. |
| src/native/managed/cdac/tests/ObjectTests.cs | Adds unit tests for GetObjectClassName argument handling and unloaded-type naming behavior. |
| src/native/managed/cdac/tests/DumpTests/RuntimeTypeSystemDumpTests.cs | Adds dump tests ensuring Object/String MTs map to modules with loaded image contents via Loader contract. |
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/SOSDacImpl.cs
Show resolved
Hide resolved
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/SOSDacImpl.cs
Show resolved
Hide resolved
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
@objectback toobjectContractvariable namecDAC_windows_x64_releaseSOS.UnitTests failure is pre-existing onmain(all 5 recent builds fail identically)runtimepipeline succeeded; 880 cDAC unit tests pass locally✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.